# Двусторонняя очередь

_Дек_ или _двусторонняя очередь_ (_double-ended queue_) - это линейный список, 
в котором все операции вставки и удаления (и, как правило, операции доступа к данным) выполняются на обоих концах списка.

Дек является более общим вариантом стека или очереди. 
Кроме того, следует различать _деки с ограниченным выводом_ (_output-restricted deque_) 
и _с ограниченным вводом_ (_input-restricted deque_), 
в которых операции удаления и вставки элементов соответственно выполняются только на одном из концов.

При работе с деками используют понятия _левый_ (_left_) и _правый_ (_right_) концы.

---

**Ссылки:**

- [Donald E. Knuth - The Art of Computer Programming, section 2.2.1](https://www-cs-faculty.stanford.edu/~knuth/taocp.html)
